package com.stylefeng.guns.modular.pay.payment.jft.api;

import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;

/**
 * 商户注册
 * @author DevinYang
 * @date 2018年8月15日  
 *
 */
public class ApiBankCardModifyRequest {
	private String version = "1.0"; 	// 业务响应码
	private String charset = "UTF-8";	// 返回信息描述
	private String reqTime; 			// 请求时间
	private String mchNo; 				// 商户号
	private String signType;
	private String sign;
	private String nonceStr; 			// 32位随机字符串
	
	//业务参数
	private String chMerCode;		//商户编号
	private String accountName;		//结算户名
	private String accountNo;		//结算账号
	private String reservedMobile;	//结算卡预留手机号
	private String bankName;		//银行名称
	private String bankCode;		//银行编号
	private String openProvince;	//开户省份编码
	private String openCity;		//开户城市编码
	private String subBankCode;		//联行号
	
	
	@NotEmpty(message="version参数为空")
	@Pattern(regexp="1.0",message="版本错误")
	public String getVersion() {
		return version;
	}
	public void setVersion(String version) {
		this.version = version;
	}
	
	@NotEmpty(message="charset参数为空")
	@Pattern(regexp="UTF-8",message="字符集有误")
	public String getCharset() {
		return charset;
	}
	public void setCharset(String charset) {
		this.charset = charset;
	}
	@NotEmpty(message="reqTime参数为空")
	@Length(max=14,message="reqTime参数长度有误")
	public String getReqTime() {
		return reqTime;
	}
	public void setReqTime(String reqTime) {
		this.reqTime = reqTime;
	}
	
	@NotEmpty(message="mchNo参数为空")
	@Length(max=32,message="mchNo参数长度有误")
	public String getMchNo() {
		return mchNo;
	}
	public void setMchNo(String mchNo) {
		this.mchNo = mchNo;
	}
	@NotEmpty(message="signType	参数为空")
	@Pattern(regexp="MD5",message="signType参数错误")
	public String getSignType() {
		return signType;
	}
	public void setSignType(String signType) {
		this.signType = signType;
	}
	@NotEmpty(message="sign参数为空")
	@Length(max=32,message="sign超出最大32位长度")
	public String getSign() {
		return sign;
	}
	public void setSign(String sign) {
		this.sign = sign;
	}
	@NotEmpty(message="nonceStr参数为空")
	@Length(max=32,message="nonceStr超出最大32位长度")
	public String getNonceStr() {
		return nonceStr;
	}
	public void setNonceStr(String nonceStr) {
		this.nonceStr = nonceStr;
	}
	
	@NotEmpty(message="chMerCode参数为空")
	@Length(max=16,message="chMerCode超出最大16位长度")
	public String getChMerCode() {
		return chMerCode;
	}
	public void setChMerCode(String chMerCode) {
		this.chMerCode = chMerCode;
	}
	
	@NotEmpty(message="accountName参数为空")
	@Length(max=20,message="accountName超出最大20位长度")
	public String getAccountName() {
		return accountName;
	}
	public void setAccountName(String accountName) {
		this.accountName = accountName;
	}
	@NotEmpty(message="accountNo参数为空")
	@Length(max=20,message="accountNo超出最大20位长度")
	public String getAccountNo() {
		return accountNo;
	}
	public void setAccountNo(String accountNo) {
		this.accountNo = accountNo;
	}
	
	@NotEmpty(message="reservedMobile参数为空")
	@Length(max=20,message="reservedMobile超出最大20位长度")
	public String getReservedMobile() {
		return reservedMobile;
	}
	public void setReservedMobile(String reservedMobile) {
		this.reservedMobile = reservedMobile;
	}
	
	@Length(max=64,message="bankName超出最大64s位长度")
	public String getBankName() {
		return bankName;
	}
	public void setBankName(String bankName) {
		this.bankName = bankName;
	}
	
	@Length(max=16,message="bankCode超出最大16位长度")
	public String getBankCode() {
		return bankCode;
	}
	public void setBankCode(String bankCode) {
		this.bankCode = bankCode;
	}
	
	@Length(max=16,message="openProvince超出最大16位长度")
	public String getOpenProvince() {
		return openProvince;
	}
	public void setOpenProvince(String openProvince) {
		this.openProvince = openProvince;
	}
	
	@Length(max=16,message="openCity超出最大16位长度")
	public String getOpenCity() {
		return openCity;
	}
	public void setOpenCity(String openCity) {
		this.openCity = openCity;
	}
	
	@NotEmpty(message="subBankCode参数为空")
	@Length(max=16,message="subBankCode超出最大16位长度")
	public String getSubBankCode() {
		return subBankCode;
	}
	public void setSubBankCode(String subBankCode) {
		this.subBankCode = subBankCode;
	}

}
